
########################################################################################
# My cozy Hyprland conf
########################################################################################

autogenerated = 0

# Monitor setting
misc:disable_hyprland_logo=true
monitor=DP-1,3440x1440@144,2560x0,1
monitor=DP-2,2560x1440@165,0x0,1

# Fix slow startup
#exec systemctl --user import-environment WAYLAND_DISPLAY XDG_CURRENT_DESKTOP
#exec dbus-update-activation-environment --systemd DISPLAY WAYLAND_DISPLAY XDG_CURRENT_DESKTOP

# Keyboard
input {
    kb_layout = us,ru
    kb_options = grp:caps_toggle,grp_led:caps
    follow_mouse = 1
    touchpad {
        natural_scroll = no
    }

    sensitivity = 0
}

# Window Rules
windowrule   = workspace 2 silent,firefox
windowrule   = workspace 4 silent,discord
windowrulev2 = tile, noblur, class:^(Pulse Browser)(.*)$
windowrulev2 = tile, class:^(steam_app)(.*)$
windowrulev2 = tile, class:^(thunar)(.*)$
windowrulev2 = tile, class:^(lutris)(.*)$
windowrulev2 = workspace 2, class:^(Pulse Browser)$
windowrulev2 = workspace 3, class:^(Steam)$
windowrulev2 = workspace 3, class:^(lutris)$
windowrulev2 = workspace 6, class:^(Spotify)$
windowrulev2 = workspace 8, class:^(Corectrl)$
windowrulev2 = workspace 3, class:^(gamescope)$
windowrulev2 = float, class:^(org.kde.polkit-kde-authentication-agent-1)$

# Autostart
exec-once=import-gsettings
exec-once=desktop-portal
exec-once=/usr/lib/polkit-kde-authentication-agent-1
exec-once=night-mode
exec-once=wallpapers
exec-once=swayosd
exec-once=waybar
exec-once=swaync
exec-once=[workspace 4 silent;noanim] discord
exec-once=transmission-daemon
exec-once=steam-native -silent
# Styling
general {
    gaps_in = 5
    gaps_out = 12.5
    border_size = 2
    col.active_border = rgba(313455ee) rgba(00ff99ee) 45deg
    col.inactive_border = rgba(595959aa)

    layout = dwindle

       
}

decoration {
    rounding = 4
    blur = yes
    blur_size = 3
    blur_passes = 1
    blur_new_optimizations = on

    drop_shadow = yes
    shadow_range = 4
    shadow_render_power = 3
    col.shadow = rgba(1a1a1aee)

}

animations {
    enabled = yes

    bezier = overshot, 0.05, 0.9, 0.1, 1.05
    bezier = smoothOut, 0.36, 0, 0.66, -0.56
    bezier = smoothIn, 0.25, 1, 0.5, 1

    animation = windows, 1, 5, overshot, slide
    animation = windowsOut, 1, 4, smoothOut, slide
    animation = windowsMove, 1, 4, default
    animation = border, 1, 10, default
    animation = fade, 1, 10, smoothIn
    animation = fadeDim, 1, 10, smoothIn
    animation = workspaces, 1, 6, default
}

dwindle {
    pseudotile = yes
    preserve_split = yes
}

master {
    new_is_master = true
}

gestures {
    workspace_swipe = off
}

device:compx-2.4g-wireless-receiver {
    kb_layout = us,ru
    kb_options = grp:caps_toggle,grp_led:caps
}

$mainMod = SUPER

# KeyBinding
bind = $mainMod, RETURN, exec, kitty
bind = $mainMod, Q, killactive, 
bind = $mainMod, M, exit, 
bind = $mainMod, E, exec, dolphin
bind = $mainMod, V, togglefloating, 
bind = $mainMod, R, exec, menurun
bind = $mainMod, D, exec, menudrun
bind = $mainMod, Y, exec, menupass
bind = $mainMod, W, pseudo,
bind = $mainMod, S, togglesplit,
bind = $mainMod, P, exec, screenshot
bind = $mainMod, B, exec, pulse-browser
bind = $mainMod, X, exec, wl-paste
bind = $mainMod, G, exec, menugames
bind = $mainMod, Z, exec, killall -SIGUSR1 waybar
bind = $mainMod, ESCAPE, exec, menupower
bind = $mainMod SHIFT, Q, exec, hyprctl kill
bind = $mainMod SHIFT, N, exec, swaync-client -t -sw
bind = $mainMod SHIFT, B, exec, pulse-browser --private-window
bind = $mainMod SHIFT, W, exec, menuwallpapers

# Move focus with mainMod + arrow keys
bind = $mainMod, left, movefocus, l
bind = $mainMod, right, movefocus, r
bind = $mainMod, up, movefocus, u
bind = $mainMod, down, movefocus, d

# Switch workspaces with mainMod + [1-8]
bind = $mainMod, 1, workspace, 1
bind = $mainMod, 2, workspace, 2
bind = $mainMod, 3, workspace, 3
bind = $mainMod, 4, workspace, 4
bind = $mainMod, 5, workspace, 5
bind = $mainMod, 6, workspace, 6
bind = $mainMod, 7, workspace, 7
bind = $mainMod, 8, workspace, 8

# Binding workspaces
workspace = DP-1, 1, default:true
workspace = DP-1, 2, default:true
workspace = DP-1, 3, default:true
workspace = DP-1, 4, default:true
workspace = DP-2, 5, default:true
workspace = DP-2, 6, default:true
workspace = DP-2, 7, default:true
workspace = DP-2, 8, default:true

# Move active window to a workspace with mainMod + SHIFT + [0-9]
bind = $mainMod SHIFT, 1, movetoworkspace, 1
bind = $mainMod SHIFT, 2, movetoworkspace, 2
bind = $mainMod SHIFT, 3, movetoworkspace, 3
bind = $mainMod SHIFT, 4, movetoworkspace, 4
bind = $mainMod SHIFT, 5, movetoworkspace, 5
bind = $mainMod SHIFT, 6, movetoworkspace, 6
bind = $mainMod SHIFT, 7, movetoworkspace, 7
bind = $mainMod SHIFT, 8, movetoworkspace, 8

# Scroll through existing workspaces with mainMod + scroll
bind = $mainMod, mouse_down, workspace, e+1
bind = $mainMod, mouse_up, workspace, e-1

# Move/resize windows with mainMod + LMB/RMB and dragging
bindm = $mainMod, mouse:272, movewindow
bindm = $mainMod, mouse:273, resizewindow

# Binding volume and caps osd
binde = $mainMod, F11,   exec, swayosd --output-volume lower
binde = $mainMod, F12,   exec, swayosd --output-volume raise

# Apps a really long time to open
exec-once=dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP
